package com.dc.service;

import com.dc.entity.SysResource;
import com.dc.entity.ro.MenuRO;
import com.dc.entity.ro.SysResourceRO;
import com.dc.ro.PageRO;
import com.dc.common.ResponseResultVO;

import java.util.List;

/**
 * 系统菜单接口
 *
 */
public interface SysResourceService {


    /**
     * 新增菜单
     *
     * @param sysResource 新增的数据实体
     * @return
     */
    ResponseResultVO insert(SysResourceRO sysResource);


    /**
     * 修改菜单
     *
     * @param sysResource 修改的数据实体
     * @return
     */
    ResponseResultVO update(SysResourceRO sysResource);


    /**
     * 删除菜单
     *
     * @param id 主键id
     * @return
     */
    ResponseResultVO delete(String id);


    /**
     * 查询菜单列表
     *
     * @param pageRO 查询条件
     * @return
     */
    ResponseResultVO selectSysResourceList(PageRO pageRO);


    /**
     * 查询菜单树形列表
     *
     * @param ro 查询条件
     * @return
     */
    ResponseResultVO selectTreeList(SysResourceRO ro);


    /**
     * 菜单初始化
     *
     * @return
     */
    ResponseResultVO menuInit();


    /**
     * 查询按钮列表
     *
     * @param
     * @return
     */
    ResponseResultVO selectMenuBtnList();

    List<SysResource> listToTreeList(List<SysResource> list);

    /**
     * 查询自己菜单
     * @param parentId
     * @return
     */
    ResponseResultVO selectSysResourceByParentId(Long parentId);
}
